//#include <iostream>
//
//using namespace std;
//
//bool isGoodNumber(int num) {
//    int digit = 1;
//    while (num > 0) {
//        int current_digit = num % 10;
//        if ((digit % 2 == 1 && current_digit % 2 == 0) || (digit % 2 == 0 && current_digit % 2 == 1)) {
//            return false;
//        }
//        num /= 10;
//        digit++;
//    }
//    return true;
//}
//
//int countGoodNumbers(int N) {
//    int count = 0;
//    for (int i = 1; i <= N; i++) {
//        if (isGoodNumber(i)) {
//            count++;
//        }
//    }
//    return count;
//}
//
//int main() {
//    int N;
//    cin >> N;
//    cout << countGoodNumbers(N) << endl;
//    return 0;
//}


//#include <iostream>
//
//using namespace std;
//
//bool isGoodNumber(int num) 
//{
//    int flag = 1;
//    while (num ) 
//    {
//        int current = num % 10;
//        if (!((flag == 1 && current % 2) || (flag == -1 && current % 2 == 0))) 
//            return false;
//        num /= 10;
//        flag *= -1;
//    }
//    return true;
//}
//
//int countGoodNumbers(int N) 
//{
//    int count = 0;
//    for (int i = 1; i <= N; i++) 
//    {
//        if (isGoodNumber(i)) 
//            count++;
//    }
//    return count;
//}
//
//int main() 
//{
//    int N = 0;
//    cin >> N;
//    cout << countGoodNumbers(N) << endl;
//    return 0;
//}